home *** CD-ROM | disk | FTP | other *** search
- 'Bütün dizin ve dosyalarì uzunluklarìyla bulan program modülü
- 'Her iki versiyonda da çalìƒìr
- 'QBX /QBX ƒeklinde veya QB /L QB ƒeklinde yüklenmelidir
-
- DECLARE FUNCTION Dizin$ (Ara$)
- TYPE Dosyalar
- Ax AS INTEGER
- Bx AS INTEGER
- Cx AS INTEGER
- Dx AS INTEGER
- Bp AS INTEGER
- Si AS INTEGER
- Di AS INTEGER
- Flags AS INTEGER
- Ds AS INTEGER
- Es AS INTEGER
- Dosya AS STRING * 64 'Dosya ismi bu deºiƒkende olacak
- END TYPE
- DECLARE SUB InterruptX (Kesme AS INTEGER, Git AS Dosyalar, Gel AS Dosyalar)
-
-
- CLS
- Ara$ = "*.*"
- Bulundu$ = Dizin$(Ara$)
- DO WHILE LEN(Bulundu$)
- DosyaAdsonu = INSTR(31, Bulundu$, CHR$(0))
- PRINT LEFT$(MID$(Bulundu$, 31, DosyaAdsonu - 31) + SPACE$(12), 12);
- IF (ASC(MID$(Bulundu$, 22, 4)) AND &H10) THEN
- PRINT "<Diz>"
- ELSE
- PRINT USING "###,###,###"; CVL(MID$(Bulundu$, 27, 4))
- END IF
- Bulundu$ = Dizin$("")
- LOOP
-
- FUNCTION Dizin$ (Ara$) STATIC
-
- DIM DiskTransferYeri AS STRING * 44, Bak AS Dosyalar
-
- Bak.Ax = &H1A00
- Bak.Dx = VARPTR(DiskTransferYeri)
- Bak.Ds = VARSEG(DiskTransferYeri)
- InterruptX &H21, Bak, Bak
-
- IF LEN(Ara$) THEN
- Ara$ = Ara$ + CHR$(0)
- Bak.Dosya = Ara$
-
- Bak.Ax = &H4E00
- Bak.Cx = 1 + 2 + 4 + 16 + 32 'Bütün dosya ve dizinlere bak
- '+1 = Normal dosyalar dahil
- '+2 = Gizli dosyalar dahil
- '+4 = Sistem dosyalarì dahil
- '+8 = Disk labeli dahil
- '+16 = Alt Dizinler dahil
- '+32 = Arsiv dosyalarì dahil
-
- Bak.Dx = VARPTR(Bak.Dosya)
- Bak.Ds = VARSEG(Bak.Dosya)
- ELSE
- Bak.Ax = &H4F00
- END IF
-
- InterruptX &H21, Bak, Bak
-
- IF Bak.Flags AND 1 THEN 'Bulunamadì
- Dizin$ = ""
- ELSE
- Dizin$ = DiskTransferYeri 'Bulundu
- END IF
- END FUNCTION
-
-